[v0.36.0] release prep: bump k8s/go deps, manifests, docs, and CI matrix#1874
Conversation
be07fd4 to
c5caedb
Compare
|
/retest-required |
|
/cc @jklaw90 @ingvagabund |
|
/lgtm |
There might be something in it. Maybe the kubevirt version needs to be bumped? |
|
Let me do that and also rebase the PR |
|
Compared to previous successful TestLiveMigrationInBackground runs the background eviction of the VM pods never started. The logs show the same initial pods: All three pods should be eventually replaced with new ones. The current e2e do not dump the sufficient logs to see why the eviction in background did not start. Better to debug this locally. EDIT: correction. There are some errors in the "virt-handler" controller logs. Maybe that has the answer. |
- Update kubevirt.io/api from v1.3.0 to v1.8.2 - Update kubevirt.io/client-go from v1.3.0 to v1.8.2 - Update kubevirt.io/containerized-data-importer-api from v1.57.0-alpha1 to v1.64.0 - Migrate e2e test from deprecated generated clientset path (kubevirt.io/client-go/generated/kubevirt/clientset/versioned) to new kubevirt.io/client-go/kubevirt client package - Update vendor and dependencies for Kubernetes 1.36 compatibility
|
Comparing logs of a successful run (1.35) and a failed run within the virt-handler container (the current PR) and a locally reproduced (the current PR) there's the following error pattern: The checksum fails to be computed since the socket is not ready yet. Once the socket gets ready the chechsum is not retried. The same for the other two VM pods. Checking with Gemini this seems to be a known issue without any proper fix (unverified). I wonder why it started happening now. 1.35 works even with the bumped kubevirt version. Maybe the kind image is built differently? |
|
Running Even with |
Adds ensureVMIsLiveMigratable in TestLiveMigrationInBackground. After the existing wait for virt-launcher pods to reach Running, poll each VMI for the LiveMigratable=True condition. If a VMI fails to become migratable within 120s, delete and recreate it (up to 3 attempts). This works around an upstream KubeVirt race where virt-handler computes the containerdisk checksum before the disk socket is ready, fails, and never retries. The recreated VMI lands on a node that has already cached the containerdisk image, so the socket comes up before virt-handler's first attempt. The race surfaces consistently with the kind v1.36.1 node image, causing TestLiveMigrationInBackground to fail with "Expected at least 3 finished live migrations, got less: 0".
Reverts b767b9c. The helper was added to work around what looked like the virt-handler containerdisk-socket race on k8s 1.36, but the actual root cause is unrelated: k8s 1.36's stricter CRD numeric format validation (kubernetes/kubernetes#136582) rejects VMI status updates with the pre-fix uint32 Checksum schema. See kubevirt/kubevirt#17858 for the upstream context and kubevirt/kubevirt#17469 for the upstream fix (merged to main, included in v1.9.0-alpha.0, not in v1.8.x). The follow-up commit bumps KUBEVIRT_VERSION so the test consumes a KubeVirt release that contains the fix, which removes the need for any test-side retry.
KubeVirt v1.8.2 publishes VMI status checksum fields (uint32 in Go) as format: int32 in its generated CRD schema. k8s 1.36 enables strict numeric format validation in CRDs via kubernetes/kubernetes#136582, which now rejects the legacy schema and causes virt-handler to enter an infinite VMI status update re-enqueue loop. Live migrations never complete and the descheduler e2e TestLiveMigrationInBackground times out. The schema fix landed upstream in kubevirt/kubevirt#17469 (merged to main on 2026-04-18, included in v1.9.0-alpha.0 tagged 2026-05-11) but was not backported to release-1.8, so no v1.8.x release contains it. Bump the default KUBEVIRT_VERSION to v1.9.0-alpha.0 so the e2e suite consumes a release whose generated CRDs are compatible with k8s 1.36's stricter validator. Tracked in kubevirt/kubevirt#17858.
|
Looks like it helps to enable The e2e is passing now locally on top of this PR. Making another test round just to be sure. EDIT: yeap, confirmed. Applying the |
fyi, I linked the issue where this is fixed in the RC kubevirt/kubevirt#17858 |
|
Oh, nice. So this is a known issue on the other side as well. Thanks for the detailed report and coordination with the kubevirt folks. |
|
Shall we merge this PR then? @ingvagabund |
|
/lgtm |
|
Let's keep the commits as they are for historical purposes. In case we need to revisit/see the path walked :) |
…escheduler (0.35.1 ➔ 0.36.0) (#586) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts-mirror/descheduler](https://github.com/kubernetes-sigs/descheduler) | minor | `0.35.1` → `0.36.0` | --- ### Release Notes <details> <summary>kubernetes-sigs/descheduler (ghcr.io/home-operations/charts-mirror/descheduler)</summary> ### [`v0.36.0`](https://github.com/kubernetes-sigs/descheduler/releases/tag/v0.36.0): Descheduler v0.36.0 [Compare Source](kubernetes-sigs/descheduler@v0.35.1...v0.36.0) #### What's Changed - fix(ci): pin helm-unittest plugin version and bump chart-testing-action by [@​a7i](https://github.com/a7i) in [#​1834](kubernetes-sigs/descheduler#1834) - Update helm RBAC to account for pvc failure on 0.35.0 by [@​cayla](https://github.com/cayla) in [#​1836](kubernetes-sigs/descheduler#1836) - Add init containers support to Helm chart by [@​kamleshjoshi8102](https://github.com/kamleshjoshi8102) in [#​1826](kubernetes-sigs/descheduler#1826) - Change icon URL in Chart.yaml by [@​a7i](https://github.com/a7i) in [#​1838](kubernetes-sigs/descheduler#1838) - fix: resolve detected data races by [@​ingvagabund](https://github.com/ingvagabund) in [#​1842](kubernetes-sigs/descheduler#1842) - fix(ci): upgrade codeql-action to v4 and clean up security workflow by [@​a7i](https://github.com/a7i) in [#​1847](kubernetes-sigs/descheduler#1847) - update golang semconv dependencies by [@​sammedsingalkar09](https://github.com/sammedsingalkar09) in [#​1848](kubernetes-sigs/descheduler#1848) - Extend PodLifeTime with condition, exit code, owner kind, and transition time filters by [@​a7i](https://github.com/a7i) in [#​1844](kubernetes-sigs/descheduler#1844) - security: Update trivy-action to use sha for v0.35.0 by [@​Priyankasaggu11929](https://github.com/Priyankasaggu11929) in [#​1854](kubernetes-sigs/descheduler#1854) - security: upgrade grpc and otel sdk dependencies by [@​sammedsingalkar09](https://github.com/sammedsingalkar09) in [#​1859](kubernetes-sigs/descheduler#1859) - evictions: fix missing observability for background evictions by [@​tiraboschi](https://github.com/tiraboschi) in [#​1856](kubernetes-sigs/descheduler#1856) - fix(descheduler): reset prometheus usage client at each extension point by [@​tiraboschi](https://github.com/tiraboschi) in [#​1862](kubernetes-sigs/descheduler#1862) - fix(.github/workflows/manifests.yaml): pin actions to a sha by [@​ingvagabund](https://github.com/ingvagabund) in [#​1868](kubernetes-sigs/descheduler#1868) - cloudbuild: pin gcb-docker-gcloud image by digest by [@​Paramesh324](https://github.com/Paramesh324) in [#​1871](kubernetes-sigs/descheduler#1871) - chart: allow overriding ServiceMonitor apiVersion by [@​a7i](https://github.com/a7i) in [#​1837](kubernetes-sigs/descheduler#1837) - ci: pin GitHub Actions to immutable SHAs by [@​a7i](https://github.com/a7i) in [#​1875](kubernetes-sigs/descheduler#1875) - evictions: fix assumePod silently dropping success metric on informer race by [@​tiraboschi](https://github.com/tiraboschi) in [#​1873](kubernetes-sigs/descheduler#1873) - chore(defaultevictor): add MatchExpressions compatibility to the namespaceselector by [@​Fankhauserli](https://github.com/Fankhauserli) in [#​1853](kubernetes-sigs/descheduler#1853) - fix(test/setupTestSandbox): wait until initial objects are propagated to informers by [@​ingvagabund](https://github.com/ingvagabund) in [#​1878](kubernetes-sigs/descheduler#1878) - \[v0.36.0] release prep: bump k8s/go deps, manifests, docs, and CI matrix by [@​a7i](https://github.com/a7i) in [#​1874](kubernetes-sigs/descheduler#1874) #### New Contributors - [@​kamleshjoshi8102](https://github.com/kamleshjoshi8102) made their first contribution in [#​1826](kubernetes-sigs/descheduler#1826) - [@​Priyankasaggu11929](https://github.com/Priyankasaggu11929) made their first contribution in [#​1854](kubernetes-sigs/descheduler#1854) - [@​Paramesh324](https://github.com/Paramesh324) made their first contribution in [#​1871](kubernetes-sigs/descheduler#1871) - [@​Fankhauserli](https://github.com/Fankhauserli) made their first contribution in [#​1853](kubernetes-sigs/descheduler#1853) **Full Changelog**: <kubernetes-sigs/descheduler@v0.35.0...v0.36.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19--> Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/586
…uler ( 0.35.1 ➔ 0.36.0 ) (#85) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts-mirror/descheduler](https://github.com/kubernetes-sigs/descheduler) | minor | `0.35.1` → `0.36.0` | --- >⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/34) for more information. --- ### Release Notes <details> <summary>kubernetes-sigs/descheduler (ghcr.io/home-operations/charts-mirror/descheduler)</summary> ### [`v0.36.0`](https://github.com/kubernetes-sigs/descheduler/releases/tag/v0.36.0): Descheduler v0.36.0 [Compare Source](kubernetes-sigs/descheduler@v0.35.1...v0.36.0) #### What's Changed - fix(ci): pin helm-unittest plugin version and bump chart-testing-action by [@​a7i](https://github.com/a7i) in [#​1834](kubernetes-sigs/descheduler#1834) - Update helm RBAC to account for pvc failure on 0.35.0 by [@​cayla](https://github.com/cayla) in [#​1836](kubernetes-sigs/descheduler#1836) - Add init containers support to Helm chart by [@​kamleshjoshi8102](https://github.com/kamleshjoshi8102) in [#​1826](kubernetes-sigs/descheduler#1826) - Change icon URL in Chart.yaml by [@​a7i](https://github.com/a7i) in [#​1838](kubernetes-sigs/descheduler#1838) - fix: resolve detected data races by [@​ingvagabund](https://github.com/ingvagabund) in [#​1842](kubernetes-sigs/descheduler#1842) - fix(ci): upgrade codeql-action to v4 and clean up security workflow by [@​a7i](https://github.com/a7i) in [#​1847](kubernetes-sigs/descheduler#1847) - update golang semconv dependencies by [@​sammedsingalkar09](https://github.com/sammedsingalkar09) in [#​1848](kubernetes-sigs/descheduler#1848) - Extend PodLifeTime with condition, exit code, owner kind, and transition time filters by [@​a7i](https://github.com/a7i) in [#​1844](kubernetes-sigs/descheduler#1844) - security: Update trivy-action to use sha for v0.35.0 by [@​Priyankasaggu11929](https://github.com/Priyankasaggu11929) in [#​1854](kubernetes-sigs/descheduler#1854) - security: upgrade grpc and otel sdk dependencies by [@​sammedsingalkar09](https://github.com/sammedsingalkar09) in [#​1859](kubernetes-sigs/descheduler#1859) - evictions: fix missing observability for background evictions by [@​tiraboschi](https://github.com/tiraboschi) in [#​1856](kubernetes-sigs/descheduler#1856) - fix(descheduler): reset prometheus usage client at each extension point by [@​tiraboschi](https://github.com/tiraboschi) in [#​1862](kubernetes-sigs/descheduler#1862) - fix(.github/workflows/manifests.yaml): pin actions to a sha by [@​ingvagabund](https://github.com/ingvagabund) in [#​1868](kubernetes-sigs/descheduler#1868) - cloudbuild: pin gcb-docker-gcloud image by digest by [@​Paramesh324](https://github.com/Paramesh324) in [#​1871](kubernetes-sigs/descheduler#1871) - chart: allow overriding ServiceMonitor apiVersion by [@​a7i](https://github.com/a7i) in [#​1837](kubernetes-sigs/descheduler#1837) - ci: pin GitHub Actions to immutable SHAs by [@​a7i](https://github.com/a7i) in [#​1875](kubernetes-sigs/descheduler#1875) - evictions: fix assumePod silently dropping success metric on informer race by [@​tiraboschi](https://github.com/tiraboschi) in [#​1873](kubernetes-sigs/descheduler#1873) - chore(defaultevictor): add MatchExpressions compatibility to the namespaceselector by [@​Fankhauserli](https://github.com/Fankhauserli) in [#​1853](kubernetes-sigs/descheduler#1853) - fix(test/setupTestSandbox): wait until initial objects are propagated to informers by [@​ingvagabund](https://github.com/ingvagabund) in [#​1878](kubernetes-sigs/descheduler#1878) - \[v0.36.0] release prep: bump k8s/go deps, manifests, docs, and CI matrix by [@​a7i](https://github.com/a7i) in [#​1874](kubernetes-sigs/descheduler#1874) #### New Contributors - [@​kamleshjoshi8102](https://github.com/kamleshjoshi8102) made their first contribution in [#​1826](kubernetes-sigs/descheduler#1826) - [@​Priyankasaggu11929](https://github.com/Priyankasaggu11929) made their first contribution in [#​1854](kubernetes-sigs/descheduler#1854) - [@​Paramesh324](https://github.com/Paramesh324) made their first contribution in [#​1871](kubernetes-sigs/descheduler#1871) - [@​Fankhauserli](https://github.com/Fankhauserli) made their first contribution in [#​1853](kubernetes-sigs/descheduler#1853) **Full Changelog**: <kubernetes-sigs/descheduler@v0.35.0...v0.36.0> </details> --- ### Configuration 📅 **Schedule**: (in timezone America/New_York) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19--> Reviewed-on: https://git.greyrock.io/greyrock-labs/home-ops/pulls/85
This PR prepares descheduler for the v0.36.0 release by combining dependency/toolchain updates with release-facing docs and manifest alignment in one change set.
What changed
Why
This follows the same release-prep pattern used in:
and keeps all release-cut prep in one PR for easier review and traceability.
Validation
Suggested reviewer focus
Release impact